In general, in a cluster system including a plurality of processing apparatuses, when, among the processing apparatuses, an active processing apparatus which is performing a process stops for some reason, a standby processing apparatus performs the process instead of the active processing apparatus. In the cluster system in which resources used for execution of processes are shared among the processing apparatuses, when such takeover (or “fail-over”) is performed, the resources associated with the processes should be taken over by the standby processing apparatus. Therefore, the takeover of the shared resources should be smoothly performed among the processing apparatuses in order to realize a short operation stop time in the system.
In general, the following technique has been used for managing shared resources in a system. Specifically, a time point when a first task is to be executed next is compared with a time point when a second task which has a priority lower than that of the first task is to be released. Then, when the time point when the first task is to be executed next is earlier than the time point when the second task is to be released, the second task is not allowed to occupy the shared resources. On the other hand, when the time point when the first task is to be executed next is not earlier than the time point when the second task is to be released, the second task is allowed to occupy the shared resources.
In recent years, a number of application programs have been implemented in a processing apparatus so that various services are provided. There arises a problem in that, if the number of application programs associated with takeover is increased, a period of time required for the takeover of shared resources also becomes long.